package com.zyt.springboot.CalculationPI;

import java.math.BigDecimal;
import java.math.MathContext;

public class PI3 {//莱布尼茨公式求圆周率 int
    public static void main(String[] args) {
        final int terms = 1000000; // 级数的项数
        BigDecimal pi = new BigDecimal("0.0");
        BigDecimal sign = new BigDecimal("1.0"); // 用于交替加减的符号
        MathContext mathContext = new MathContext(30);//数字指的是多少位有效数字
        for (int i = 0; i < terms; i++) {
            pi = pi.add(sign.divide(BigDecimal.valueOf(2 * i + 1), mathContext));
            sign = sign.multiply(BigDecimal.valueOf(-1)); // 改变符号
        }
        pi = pi.multiply(BigDecimal.valueOf(4)); // 根据莱布尼茨公式，最后乘以4
        System.out.println("Calculated Pi: " + pi);
    }
}
